<%@page import="com.mes.entity.tdd.Staff"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@include file="/pages/common.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>产品条码新增</title>
<script type="text/javascript">
//修改时传的id参数
var regularId = null;
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
	//初始化提示框的位置：top-center，bottom-left，bottom-right
    toastr.options.positionClass = 'toast-top-center';
    
	//获取修改是传的id参数
    regularId = getQueryString("id");
    //如果传参（修改）
	if(regularId != null){
		$.ajax({
    		cache: false,
    		url:'${pageContext.request.contextPath }/regular/toEditCarRoom.do',
    		type:"POST",
    		data:'id='+regularId,
    		success:function (data) {
    			var result=eval("("+data+")");
    			$('#pid').val(result.pid);
    		    $('#regular').val(result.regular);
    		    $('#remark').val(result.remark);
    		}
    	});
		$('#tb_departments').bootstrapTable('refresh', {
           	url: '${pageContext.request.contextPath }/RegularDetail/listAll.do',         //请求后台的URL（*）
           	query: {rid : regularId},
		});
	}
	//根据参数名获取页面传参
    function getQueryString(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return unescape(r[2]);
        }
        return null;
    }
  	
	//下拉框动态辅助
	getCartype();
	getClassfication();
	getDistinguish();
	//弹出框关闭
    $('#btn_guanbi').click(function () {
    	$('#bom').modal("hide");
    });
	//弹出框选择确认
    $('#btn_confirm').click(function () {
    	//必须选中一条数据
		var checkedItems = $('#tb_table1').bootstrapTable('getSelections');
		if (checkedItems.length == 1) {
			$('#pid').val(checkedItems[0].num)
	    	$('#bom').modal("hide");
		}
    });
    
    // 按下鼠标点击产品编码
    $('#pid').mouseup(function () {
    	
    	$('#bom').modal("show");
    	$('#tb_table1').bootstrapTable('refresh', {
    		url: '${pageContext.request.contextPath }/product/select.do',
    	});
    });
    	
    	
    var addann = true;
  	//保存
    $('#btn_add').click(function () {
        if(addann = false){
            return ;
		}
        addann = false;
    	var pid=$('#pid').val();
    	var regular=$('#regular').val();
    	var remark=$('#remark').val();
    	
    	var ii = 0;
    	//if(null == pid || "" == pid || null  == regular || "" == regular || null == remark || "" == remark){
    	if(null == pid || "" == pid){
    		ii++;
    		toastr.warning("请选择产品编号");
    	}
    	if(ii > 0){
    		return ;
    	}
    	var row=$('#tb_departments').bootstrapTable('getData');
    
    	// 规则条码
    	var code = [];
    	// 参数内容
    	var content = [];
    	// 定义
    	var mean = [];
    	for (var j = 0; j < row.length; j++) {
    		code.push(row[j].code);
    		content.push(row[j].content);
    		mean.push(row[j].mean);
		}
    	var StringId = "";
    	var title = "新增";
		var url = '${pageContext.request.contextPath }/regular/createRegular.do';
    	if(regularId != null){
    		url='${pageContext.request.contextPath }/regular/editCarRoom.do';
    		StringId = 'id='+regularId+'&';
    		title = "修改";
    	}
    	$.ajax({
    		cache: false,
    		url:url,
    		type:"POST",
    		data:StringId+'pid='+pid+'&'+'regular='+regular+'&remark='+remark
    			+'&code='+code+'&content='+content+'&mean='+mean+'&rowCount='+row.length,
    		success:function (data) {
    			var result=eval("("+data+")");
    			if (result==1) {
                	toastr.success(title+"成功");
                    setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
                    	window.location.href='${pageContext.request.contextPath }/pages/jyy/regular.jsp';
                    },2000);
				}else if (result==2) {
					toastr.warning("产品编号不能重复");
				} else{
					toastr.error(title+'失败!');
                    addann = true;
				} 
    		}
    	});
    });
  
	//条件查询
	$('#btn_query').click(function () {
		$("#tb_table1").bootstrapTable('refresh', {
			url : '${pageContext.request.contextPath }/product/select.do'
		});
	});
	// 车种下拉菜单
	function getCartype() {
		$.ajax({
			type : "post",
			url : "${pageContext.request.contextPath }/product/selectCarType.do",
			success : function(data) {
				var str = "<option value='' selected='selected'>--请选择--</option>";
				var json = eval('(' + data + ')');
				for (var i = 0; i < json.data.length; i++) {
					var cartype = json.data[i].cartype;
					str += '<option value="'+cartype+'">'
							+ json.data[i].cartype + '</option>';
				}
				$("#cartype1").append(str);
				$("#cartype1").selectpicker('refresh');
			}
		});
	}
	// 产品分类下拉菜单
	function getClassfication() {
		$.ajax({
			type : 'post',
			url : '${pageContext.request.contextPath }/product/selectClassif.do',
			success : function(data) {
				var str = "<option value='' selected='selected'>--请选择--</option>";
				var json = eval('(' + data + ')');
				for (var i = 0; i < json.data.length; i++) {
					var classification = json.data[i].classification;
					str += '<option value="'+json.data[i].classification+'">'
							+ json.data[i].classification + '</option>';
				}
				$("#classification1").append(str);
				$("#classification1").selectpicker('refresh');
			}
		});
	}
	// 产品区分下拉菜单
	function getDistinguish() {
		$.ajax({
			type : "post",
			url : '${pageContext.request.contextPath }/product/selectDis.do',
			success : function(data) {
				var str = "<option value='' selected='selected'>--请选择--</option>";
				var json = eval('(' + data + ')');
				for (var i = 0; i < json.data.length; i++) {
					var distinguish = json.data[i].distinguish;
					str += '<option value="'+distinguish+'">'
							+ json.data[i].distinguish + '</option>';
				}
				$("#distinguish1").append(str);
				$("#distinguish1").selectpicker('refresh');
			}
		});
	}
});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
            //url: '${pageContext.request.contextPath }/RegularDetail/listAll.do',         //请求后台的URL（*）
        	method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            //height: 560,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [
       	   [{
       		   align: "center",
        	   title:'产品编号'
           },{
        	   align: "center",
        	   title:'条码长度'
           },{
        	   align: "center",
        	   title:'条码规则'
           },{
            	title: '<button type="button" onclick="addTr()" class="btn btn-primary">添加规则说明</button>',
            	valign:"middle",
                align:"center",
            	colspan: 1,
                rowspan: 2
           }]
       	   ,[{
        	   title:'<input class="form-control" type="text" id="pid">',
           },{
        	   title:'<input class="form-control" type="text" id="remark">',
           },{
        	   title:'<input class="form-control" type="text" id="regular">',
           }]
       	   ,[{
            	field: 'code',
                title: '条码',
                align: "center",
                editable: {
                    type: 'text',
                    title: '条码',
                    validate: function (v) {
                        if (!v) return '条码不能为空';
                    }
                } 
            }, {
                field: 'content',
                title: '参数',
                align: "center",
                editable: {
                    type: 'text',
                }  
            }, {
            	field: 'mean',
                title: '定义',
                align: "center",
               	editable: {
                    type: 'text',
                    title: '定义'
                }   
            } ,{
                field: 'rid',
                title: '移除',
                valign: "middle",
                align: "center",
                formatter: function (value, row, index) {
                	return '<button type="button" onclick="removeTr('+row.id+')" class="btn btn-primary">移除规则说明</button>'
                }
            }]],
            
        });
        
        $('#tb_table1').bootstrapTable({
        	
        	method : 'get', //请求方式（*）
			toolbar : '#toolbar1', //工具按钮用哪个容器
			striped : true, //是否显示行间隔色
			cache : true, //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, //是否显示分页（*）
			sortable : false, //是否启用排序
			sortOrder : "asc", //排序方式
			exportDataType : "selected",
			queryParams : oTableInit.queryParams,//传递参数（*）
			sidePagination : "server", //分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, //初始化加载第一页，默认第一页
			pageSize : 10, //每页的记录行数（*）
			pageList : [ 10,20,30 ], //可供选择的每页的行数（*）
			minimumCountColumns : 2, //最少允许的列数
			clickToSelect : true, //是否启用点击选中行
			height : 523,//865满屏  //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "ID", //每一行的唯一标识，一般为主键列
			cardView : false, //是否显示详细视图
			detailView : false, //是否显示父子表
			columns : [ {
				checkbox : true
			}, {
				field : 'pid',
				visible: false,
			}, {
				field : 'name',
				title : '品名'
			}, {
				field : 'num',
				title : '品编'
			}, {
				field : 'cartype',
				title : '车种'
			}, {
				field : 'client',
				title : '客户'
			}, {
				field : 'distinguish',
				title : '产品区分'
			}, {
				field : 'classification',
				title : '产品分类'
			}, {
				field : 'size',
				title : '产品尺寸(mm)',
				visible: false,
			}, {
				field : 'weight',
				title : '产品重量(g)',
				visible: false,
			}, {
				field : 'modulus',
				title : '产品模数',
				visible: false,
			}, {
				field : 'color',
				title : '产品颜色'
			}, {
				field : 'wweight',
				title : '水口重量(g)',
				visible: false,
			}, {
				field : 'remark1',
				title : '模具编号',
				visible: false,
			}, {
				field : 'remark4',
				title : '最高库存',
				visible: false,
			}, {
				field : 'remark5',
				title : '最低库存',
				visible: false,
			}, {
				field : 'remark7',
				title : '包装规格(个)',
				visible: false,
			}, {
				field : 'remark6',
				title : '产品周期(s)',
				visible: false,
			}, {
				field : 'remark8',
				title : '单价(元)'
			}]
        })
    };

  	//得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
			limit : params.limit, //页面大小
			offset : params.offset, //页码
			client : $("#client1").val(),
			cartype : $("#cartype1").val(),
			classification : $("#classification1").val(),
			distinguish : $("#distinguish1").val()
		};
		return temp;
	};
    return oTableInit;
};



//删除行
function removeTr(data){
    $('#tb_departments').bootstrapTable('remove', {
        field: "id",
        values: [parseInt(data)]
    });
	//$("#tb_departments tbody tr").eq(data).remove();
	//$('#tb_departments').bootstrapTable('removeAll'); 
}
//添加行时id
var num = 0;
//添加行
function addTr(data) {
	//判断是否传入参数id（是否是修改）
	if(regularId != null){
		var row=$('#tb_departments').bootstrapTable('getData');
		if(row.length > 0){
			//添加行时id=最后一行id+1
			num = row[row.length-1].id+1
		}
	}
	//添加行数据
     var row = {};
		 row={
 				"code":"",
 				"content":"",
 				"mean":"",
 				"id":num
			} 
	 //添加行
     $('#tb_departments').bootstrapTable('append', row);
	 //添加行时id+1（为下次添加行使用）
	 num = num + 1
}


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};


</script>
</head>
<body>
	<div class="panel-body" style="padding-bottom: 0px;">
		<div id="toolbar" class="btn-group">
			<button id="btn_add" type="button" class="btn btn-default" >
				<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>保存
			</button>
			<button id="btn_back" type="button" class="btn btn-default" onclick="javascript:history.back()" >
            	<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>退出
        	</button>
		</div>

		<table id="tb_departments"></table>
	</div>
	<!-- 选择品编是模态框 -->
	<div class="modal fade " id="bom"  tabindex="-1" role="dialog" aria-labelledby="myModal" data-backdrop="static" data-keyboard="false">
    	<div class="modal-dialog" role="document" style="width:60%;height: auto;">
        	<div class="modal-content">
           	 <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                        aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">选择产品</h4>
            </div>
			<div class="modal-body">
				<!-- 表头 -->
				<div id="toolbar1" class="btn-group">
					<button id="btn_confirm" type="button" class="btn btn-default">
						<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>确定
					</button>
					<button id="btn_guanbi" type="button" class="btn btn-default">
						<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>关闭
					</button>
				</div>
				<!-- 表头 -->
				<div class="panel panel-default">
					<div class="panel-heading">查询条件</div>
					<div class="panel-body">
						<form id="formSearch" class="form-horizontal">
							<div class="form-group" style="margin-top: 15px">
								<label class="control-label col-sm-2" for="client1">客户</label>
								<div class="col-sm-3">
									<input type="text" class="form-control" id="client1">
								</div>
								<label class="control-label col-sm-2" for="cartype1">车种</label>
								<div class="col-sm-3">
									<select id="cartype1" class="selectpicker show-tick form-control">
									</select>
								</div>
								<br> <br> <br> <label
									class="control-label col-sm-2" for="classification1">产品分类</label>
								<div class="col-sm-3">
									<select id="classification1"
										class="selectpicker show-tick form-control">
									</select>
								</div>
								<label class="control-label col-sm-2" for="distinguish1">产品区分</label>
								<div class="col-sm-3">
									<select id="distinguish1"
										class="selectpicker show-tick form-control">
									</select>
								</div>
								<div class="col-sm-2" style="margin-top: -30px;">
									<button type="button" style="margin-left: 20%;"
										id="btn_query" class="btn btn-primary" 
										data-query-params="queryParams" data-query-params-type="limit">查询</button>
									<button id="qingkong" hidden="hidden">清空筛选</button>
								</div>
							</div>
						</form>
					</div>
				</div>
				<!-- 表 -->
				<table id="tb_table1"></table>
            </div>
        </div>
    </div>
</div>
	
	
</body>
</html>